import { rules } from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
export const columns = [
    {
        title: '标题',
        width: 150,
        dataIndex: 'titile',
    },
    {
        title: '消息类型',
        dataIndex: 'msgCategory',
        width: 100,
        customRender: ({ text }) => {
            return render.renderDict(text, 'msg_category');
        },
    },
    {
        title: '发布人',
        width: 100,
        dataIndex: 'sender',
    },
    {
        title: '优先级',
        dataIndex: 'priority',
        width: 70,
        customRender: ({ text }) => {
            const color = text == 'L' ? 'blue' : text == 'M' ? 'yellow' : 'red';
            return render.renderTag(render.renderDict(text, 'priority'), color);
        },
    },
    {
        title: '通告对象',
        dataIndex: 'msgType',
        width: 100,
        customRender: ({ text }) => {
            return render.renderDict(text, 'msg_type');
        },
    },
    {
        title: '发布状态',
        dataIndex: 'sendStatus',
        width: 70,
        customRender: ({ text }) => {
            const color = text == '0' ? 'red' : text == '1' ? 'green' : 'gray';
            return render.renderTag(render.renderDict(text, 'send_status'), color);
        },
    },
    {
        title: '发布时间',
        width: 100,
        dataIndex: 'sendTime',
    },
    {
        title: '撤销时间',
        width: 100,
        dataIndex: 'cancelTime',
    },
];
export const searchFormSchema = [
    {
        field: 'titile',
        label: '标题',
        component: 'JInput',
        colProps: { span: 8 },
    },
];
export const formSchema = [
    {
        field: 'id',
        label: 'id',
        component: 'Input',
        show: false,
    },
    {
        field: 'msgCategory',
        label: '消息类型',
        required: true,
        component: 'JDictSelectTag',
        defaultValue: '1',
        componentProps: {
            type: 'radio',
            dictCode: 'msg_category',
            placeholder: '请选择类型',
        },
    },
    {
        field: 'titile',
        label: '标题',
        component: 'Input',
        required: true,
        componentProps: {
            placeholder: '请输入标题',
        },
    },
    {
        field: 'msgAbstract',
        label: '摘要',
        component: 'InputTextArea',
        required: true,
    },
    {
        field: 'endTime',
        label: '截至日期',
        component: 'DatePicker',
        componentProps: {
            showTime: true,
            valueFormat: 'YYYY-MM-DD HH:mm:ss',
            placeholder: '请选择截至日期',
        },
        dynamicRules: ({ model }) => rules.endTime(model.startTime, true),
    },
    {
        field: 'msgType',
        label: '接收用户',
        defaultValue: 'ALL',
        component: 'JDictSelectTag',
        required: true,
        componentProps: {
            type: 'radio',
            dictCode: 'msg_type',
            placeholder: '请选择发布范围',
        },
    },
    {
        field: 'userIds',
        label: '指定用户',
        component: 'JSelectUser',
        required: true,
        componentProps: {
            rowKey: 'id',
            labelKey: 'username',
        },
        ifShow: ({ values }) => values.msgType == 'USER',
    },
    {
        field: 'priority',
        label: '优先级',
        defaultValue: 'H',
        component: 'JDictSelectTag',
        componentProps: {
            dictCode: 'priority',
            type: 'radio',
            placeholder: '请选择优先级',
        },
    },
    {
        field: 'msgContent',
        label: '内容',
        component: 'Input',
        render: render.renderTinymce,
    },
];
